package com.cuteboy.vo;

import java.util.ArrayList;
import java.util.List;

/**
 * 分页实体
 */
public class Page<T> {

    // 当前页
    private Integer page = 1;
    // 每页显示的总条数
    private Integer limit = 10;
    // 总条数
    private Integer totalNum ;
    // 是否有下一页
    private Integer isMore;
    // 总页数
    private Integer totalPage;
    // 开始索引
    private Integer startIndex;
    // 分页结果
    private List<T> items;

    public Page() {
        super();
    }

    public Page(Integer page, Integer limit, Integer totalNum) {
        super();
        this.page = page;
        this.limit = limit;
        this.totalNum = totalNum;
        // 总页数 = （总条数 + 每页的总条数 -1） / 每页的总条数
        this.totalPage = (this.totalNum + this.limit - 1) / this.limit;
        // 开始索引 = (当前页 - 1) * 当前页面总条数
        this.startIndex = (this.page - 1) * this.limit;
        // 是否有下一页 ：当前页 >= 总页数 = 0（false） | 当前页 < 总页数 = 1（true）
        this.isMore = this.page >= this.totalPage ? 0 : 1;
    }

//    public Integer getCurrentPage() {
//        return page;
//    }
//
//    public void setCurrentPage(Integer currentPage) {
//        this.currentPage = currentPage;
//    }
//
//    public Integer getPageSize() {
//        return pageSize;
//    }
//
//    public void setPageSize(Integer pageSize) {
//        this.pageSize = pageSize;
//    }


    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getTotalNum() {
        return totalNum;
    }

    public void setTotalNum(Integer totalNum) {
        this.totalNum = totalNum;
    }

    public Integer getIsMore() {
        return isMore;
    }

    public void setIsMore(Integer isMore) {
        this.isMore = isMore;
    }

    public Integer getTotalPage() {
        return totalPage;
    }

    public void setTotalPage(Integer totalPage) {
        this.totalPage = totalPage;
    }

    public Integer getStartIndex() {
        return startIndex;
    }

    public void setStartIndex(Integer startIndex) {
        this.startIndex = startIndex;
    }

    public List<T> getItems() {
        return items;
    }

    public void setItems(List<T> items) {
        this.items = items;
    }
}
